/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.garcomeletronico.controlador.implementacao;

import br.com.garcomeletronico.bean.Mesa;
import br.com.garcomeletronico.bean.Pedido;
import br.com.garcomeletronico.bean.Prato;
import br.com.garcomeletronico.controlador.IControladorPedido;
import br.com.garcomeletronico.dao.IDAOPedido;
import br.com.garcomeletronico.dao.implementacao.DAOPedido;
import java.sql.SQLException;
import java.util.List;

/**
 *
 * @author tulio.luis
 */
public class ControladorPedido implements IControladorPedido {

    private IDAOPedido repositorio;

    public ControladorPedido() {
        if (repositorio == null) {
            repositorio = new DAOPedido();
        }
    }

    @Override
    public void fazer(Pedido pojo, Mesa pojo2, List<Prato> listaPratos) throws SQLException {
        this.repositorio.fazer(pojo, pojo2, listaPratos);
    }

    @Override
    public void atualizarpronto(Pedido pojo) throws SQLException {
        this.repositorio.atualizarpronto(pojo);
    }

    @Override
    public void atualizaraguardando(Pedido pojo) throws SQLException {
        this.repositorio.atualizarpronto(pojo);
    }

    @Override
    public void atualizaratendido(Pedido pojo) throws SQLException {
        this.repositorio.atualizaratendido(pojo);
    }

    @Override
    public void atualizarcancelar(Pedido pojo) throws SQLException {
        this.repositorio.atualizarcancelar(pojo);
    }

    @Override
    public List<Pedido> listarTodos() throws SQLException {
        return validarLista(this.repositorio.listarTodos());
    }

    @Override
    public List<Pedido> listarPagamentos() throws SQLException{
        return validarLista(this.repositorio.listarPagamentos());
    }
    
    @Override
    public void PedidoPago(Pedido pojo) throws SQLException{
        this.repositorio.Pago(pojo);
    }
    

    private List<Pedido> validarLista(List<Pedido> pedido) throws SQLException {
        if (pedido == null) {
            throw new SQLException("Nenhum pedido encontrado!");
        }
        return pedido;
    }
}
